﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace CheckList
{
    public partial class formNowyEdytujPaczka : Form
    {
        private string trybPracy = "Nowy";
        private string id_komplet;
        private string id_paczka;
        public formNowyEdytujPaczka(string id_paczka_, string id_komplet_,string nazwa_kpl)
        {
            InitializeComponent();
            id_komplet = id_komplet_;
            try
            {
                if (id_paczka_ != null)
                {
                    DataRow oneRow = classConfig.getRow("SELECT top 1 * FROM paczka WHERE id_paczka = '" + id_paczka_ + "'", classConfig.sqlConnString);
                    this.textBoxNazwaPaczkiPL.Text = oneRow["nazwa_paczki"].ToString();
                    this.textBoxNazwaPaczkiDE.Text = oneRow["nazwa_paczki_de"].ToString();
                    id_paczka = id_paczka_;
                    trybPracy = "Edycja";
                }
                else
                {
                    trybPracy = "Nowy";
                    this.textBoxNazwaPaczkiPL.Text = nazwa_kpl + " PS";
                    this.textBoxNazwaPaczkiDE.Text = nazwa_kpl + " PS";
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "Error - Edycja paczki", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void buttonOK_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.textBoxNazwaPaczkiPL.Text.Length == 0) throw new System.ArgumentException("Proszę podac nazwę paczki PL");
                if (this.textBoxNazwaPaczkiDE.Text.Length == 0) throw new System.ArgumentException("Proszę podac nazwę paczki DE");
                if (trybPracy == "Nowy")
                {
                    string nazwa_paczki_pl_ = classConfig.getOne("SELECT top 1 nazwa_paczki FROM paczka WHERE nazwa_paczki = '" + this.textBoxNazwaPaczkiPL.Text + "'", classConfig.sqlConnString);
                    if (nazwa_paczki_pl_ == this.textBoxNazwaPaczkiPL.Text)
                        throw new System.ArgumentException("Dodawana paczka o tej nazwie już istnieje!");


                    string one = classConfig.getOne("SELECT top 1 id_paczka FROM paczka ORDER BY convert(integer, id_paczka) desc", classConfig.sqlConnString);
                    int id_paczka_ = Convert.ToInt16(one);
                    id_paczka_++;
                    string query = "INSERT INTO paczka (id_paczka,nazwa_paczki,nazwa_paczki_de,id_komplet) " +
                        " VALUES(" + id_paczka_ + ",'" + this.textBoxNazwaPaczkiPL.Text + "','" + this.textBoxNazwaPaczkiDE.Text +
                        "', " + id_komplet + " );";
                    classConfig.exec(query, classConfig.sqlConnString);
                }
                else if (trybPracy == "Edycja")
                {
                    string paczkaIstnieje = classConfig.getOne("SELECT top 1 id_paczka FROM paczka WHERE nazwa_paczki = '" + this.textBoxNazwaPaczkiPL.Text + "' AND id_paczka != " + id_paczka, classConfig.sqlConnString);
                    if (paczkaIstnieje != "")
                    {
                        throw new System.ArgumentException("Zmiana nazwy jest nie możliwa bo istniej juz paczka o takiej nazwie!");
                    }

                    string query = "UPDATE paczka SET nazwa_paczki = '" + this.textBoxNazwaPaczkiPL.Text + "',nazwa_paczki_de = '" + this.textBoxNazwaPaczkiDE.Text +
                        "' WHERE id_paczka = '" + id_paczka + "'";
                    classConfig.exec(query, classConfig.sqlConnString);
                }

                this.Close();
            }
            catch (Exception x)
            {
                MessageBox.Show(x.Message, "Error - Dodawanie nowej paczki", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void formNowyEdytujPaczka_Load(object sender, EventArgs e)
        {

        }


    }
}
